
#ifndef SERPENT_TYPES_H_
#define SERPENT_TYPES_H_

#ifndef true
	#define true 1
#endif
#ifndef false
	#define false 0
#endif

#define LOG_ALL 0
#define LOG_ERR 1
#define	LOG_WAR 2
#define LOG_INF 3

#define OBJ_Q 0
#define OBJ_C 1
#define OBJ_IO 3

typedef char* str;

#ifndef bool
	typedef char bool;
#endif

typedef unsigned char s_type;
typedef s_type s_objtype;

typedef struct s_property {
	str name;
	str value;
	struct s_property* next;
} s_property_t;

typedef s_property_t* prop;

typedef struct obj {
	s_objtype type;
	prop props;
	struct obj* next;
	struct obj* io;
} obj_t;

typedef obj_t* io;
typedef obj_t* queue;
typedef obj_t* conn;

extern obj_t** objects;

#endif /* SERPENT_TYPES_H_ */
